{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b9424635",
   "metadata": {},
   "source": [
    "# Federate Learning for Image Classification"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "73854d03",
   "metadata": {},
   "source": [
    "*The following codes are demos only. It's **NOT for production** due to system security concerns, please **DO NOT** use it directly in production.*"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "26887415",
   "metadata": {},
   "source": [
    "In this tutorial, we will use the image classification task to show how to complete the horizontal federated learning task in the `SecretFlow` framework.\n",
    "The `SecretFlow` framework provides a user-friendly API that makes it easy to apply your Keras or PyTorch model to a federated learning scenario as a federated learning model.\n",
    "In the rest of the tutorial we will show you how to turn your existing model into a federated model in `SecretFlow` to complete federated multi-party modeling tasks"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "223044ce",
   "metadata": {},
   "source": [
    "## What is Federate Learning"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5b60fdb5",
   "metadata": {},
   "source": [
    "The federated learning here refers specifically to the federated learning of horizontal scenarios. This mode applies to the situation where each participant has the same business but different customer groups are reached. In this case, samples from various parties can be combined to train a joint model with better performance. For example, in the medical scene, each hospital has its own unique patient group, and hospitals in different regions almost do not overlap each other, but their examination records for medical records (such as images, blood tests, etc.) are of the same type."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "333698af",
   "metadata": {},
   "source": [
    "<img alt=\"split_learning_tutorial.png\" src=\"resource/federate_learning.png\" width=\"600\">"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54c1b11a",
   "metadata": {},
   "source": [
    "Training process:\n",
    "1. Each participant downloads the latest model from the server.\n",
    "2. Each participant uses its own local data to train the model, and uploads gradient encryption (or parameter encryption) to the server, which obtains the encryption gradient (encryption parameter) uploaded by all parties for security aggregation at the server, and updates model parameters with the aggregated gradient.\n",
    "3. The server returns the updated model to each participant.\n",
    "4. Each participant updates their local model, and prepare next training."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "65430f78",
   "metadata": {},
   "source": [
    "## Federate learning on SecretFlow"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "59774353",
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c5253753",
   "metadata": {},
   "source": [
    "Create 3 entities in the Secretflow environment [Alice, Bob, Charlie]\n",
    "Alice, Bob and Charlie are the three PYUs.\n",
    "Alice and Bob to be the clients and Charlie to be the server"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "93f79d14",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2022-06-29 11:12:30.841754: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n"
     ]
    }
   ],
   "source": [
    "import secretflow as sf\n",
    "\n",
    "# In case you have a running secretflow runtime already.\n",
    "sf.shutdown()\n",
    "\n",
    "sf.init(['alice', 'bob', 'charlie'], num_cpus=8, log_to_driver=True)\n",
    "alice, bob, charlie = sf.PYU('alice'), sf.PYU('bob'), sf.PYU('charlie')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "4bf4e1f6",
   "metadata": {},
   "outputs": [],
   "source": [
    "spu = sf.SPU(sf.utils.testing.cluster_def(['alice', 'bob']))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c53224e0",
   "metadata": {},
   "source": [
    "### Prepare Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "44a81605",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[2m\u001b[36m(pid=1657322)\u001b[0m 2022-06-29 11:12:36.962363: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n",
      "\u001b[2m\u001b[36m(pid=1657325)\u001b[0m 2022-06-29 11:12:36.962363: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n",
      "\u001b[2m\u001b[36m(SPURuntime pid=1657322)\u001b[0m I0629 11:12:38.656691 1657322 external/com_github_brpc_brpc/src/brpc/server.cpp:1065] Server[yasl::link::internal::ReceiverServiceImpl] is serving on port=43877.\n",
      "\u001b[2m\u001b[36m(SPURuntime pid=1657322)\u001b[0m I0629 11:12:38.687928 1657322 external/com_github_brpc_brpc/src/brpc/server.cpp:1068] Check out http://i85c08157.eu95sqa:43877 in web browser.\n",
      "\u001b[2m\u001b[36m(SPURuntime pid=1657325)\u001b[0m I0629 11:12:38.648803 1657325 external/com_github_brpc_brpc/src/brpc/server.cpp:1065] Server[yasl::link::internal::ReceiverServiceImpl] is serving on port=63471.\n",
      "\u001b[2m\u001b[36m(SPURuntime pid=1657325)\u001b[0m I0629 11:12:38.648889 1657325 external/com_github_brpc_brpc/src/brpc/server.cpp:1068] Check out http://i85c08157.eu95sqa:63471 in web browser.\n",
      "\u001b[2m\u001b[36m(SPURuntime pid=1657325)\u001b[0m I0629 11:12:38.749685 1658136 external/com_github_brpc_brpc/src/brpc/socket.cpp:2202] Checking Socket{id=0 addr=127.0.0.1:43877} (0x558e3d07a280)\n",
      "\u001b[2m\u001b[36m(SPURuntime pid=1657325)\u001b[0m I0629 11:12:38.749885 1658136 external/com_github_brpc_brpc/src/brpc/socket.cpp:2262] Revived Socket{id=0 addr=127.0.0.1:43877} (0x558e3d07a280) (Connectable)\n",
      "\u001b[2m\u001b[36m(_run pid=1657323)\u001b[0m 2022-06-29 11:12:39.086382: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n"
     ]
    }
   ],
   "source": [
    "from secretflow.data.ndarray import load\n",
    "from secretflow.data.simulation.dataset import load_mnist_data\n",
    "data_split = {\n",
    "            alice: 0.5,\n",
    "            bob: 1.0,\n",
    "        }\n",
    "train_data_dict, test_data_dict = load_mnist_data(party_ratio=data_split)\n",
    "train_npz = load(train_data_dict, allow_pickle=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f8049947",
   "metadata": {},
   "source": [
    "Fed_npz is a dictionary from which image and label are the FedNdarray required for federated training later"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a5cd53f3",
   "metadata": {},
   "outputs": [],
   "source": [
    "train_image = train_npz['image']\n",
    "train_label = train_npz['label']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "23fbbbdf",
   "metadata": {},
   "source": [
    "Let's take a look at the data obtained from FedNdarray. FedNdarray is a virtual Ndarray built on a multi-party concept to protect data privacy.\n",
    "The underlying data is stored in each participant. The FedNdarray operation is actually performed by each participant on their own local data. The server or other clients do not touch the original data.\n",
    "For demonstration purposes, we will manually download the data to the driver\n",
    "**This data will be used later in the unilateral model comparison**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "bd4c3735",
   "metadata": {},
   "outputs": [],
   "source": [
    "import requests\n",
    "import io\n",
    "import numpy as np\n",
    "\n",
    "dataset_dict = {}\n",
    "for device, url in train_data_dict.items():\n",
    "    dataset_dict[device] = np.load(url)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "5984479d",
   "metadata": {},
   "outputs": [],
   "source": [
    "alice_data,alice_label = dataset_dict[alice][\"image\"],dataset_dict[alice][\"label\"]\n",
    "bob_data, bob_label = dataset_dict[bob][\"image\"], dataset_dict[bob][\"label\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e01bc559",
   "metadata": {},
   "source": [
    "Let's grab some samples from the data set, and just visually see, what does the data look like for Both Alice and Bob?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "031dbe50",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1440x288 with 40 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "\n",
    "figure = plt.figure(figsize=(20, 4))\n",
    "j = 0\n",
    "\n",
    "for example in alice_data[:40]:\n",
    "  plt.subplot(4, 10, j+1)\n",
    "  plt.imshow(example, cmap='gray', aspect='equal')\n",
    "  plt.axis('off')\n",
    "  j += 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "11098cb0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1440x288 with 40 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure = plt.figure(figsize=(20, 4))\n",
    "j = 0\n",
    "for example in bob_data[:40]:\n",
    "  plt.subplot(4, 10, j+1)\n",
    "  plt.imshow(example, cmap='gray', aspect='equal')\n",
    "  plt.axis('off')\n",
    "  j += 1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ff562fe",
   "metadata": {},
   "source": [
    "It can be seen from the above two examples that the data types and tasks of Alice and Bob are consistent, but the samples are different due to the different user groups they reach."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9b72eab0",
   "metadata": {},
   "source": [
    "Let's take the FedNdarray again, and prepare the test set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "d74c7284",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[2m\u001b[36m(_run pid=1657324)\u001b[0m 2022-06-29 11:12:53.613520: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n"
     ]
    }
   ],
   "source": [
    "test_npz = load(test_data_dict, allow_pickle=True)\n",
    "test_image = test_npz['image']\n",
    "test_label = test_npz['label']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "806779e1",
   "metadata": {},
   "source": [
    "### Define Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "25fbec5d",
   "metadata": {},
   "outputs": [],
   "source": [
    "def create_conv_model(input_shape, num_classes, name='model'):\n",
    "    def create_model():\n",
    "        from tensorflow import keras\n",
    "        from tensorflow.keras import layers\n",
    "        # Create model\n",
    "        model = keras.Sequential(\n",
    "            [\n",
    "                keras.Input(shape=input_shape),\n",
    "                layers.Conv2D(32, kernel_size=(3, 3), activation=\"relu\"),\n",
    "                layers.MaxPooling2D(pool_size=(2, 2)),\n",
    "                layers.Conv2D(64, kernel_size=(3, 3), activation=\"relu\"),\n",
    "                layers.MaxPooling2D(pool_size=(2, 2)),\n",
    "                layers.Flatten(),\n",
    "                layers.Dropout(0.5),\n",
    "                layers.Dense(num_classes, activation=\"softmax\"),\n",
    "            ]\n",
    "        )\n",
    "        # Compile model\n",
    "        model.compile(loss='categorical_crossentropy',\n",
    "                      optimizer='adam',\n",
    "                      metrics=[\"accuracy\"])\n",
    "        return model\n",
    "\n",
    "    return create_model\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "33fce574",
   "metadata": {},
   "source": [
    "### Training FL Model"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ac7e3cb8",
   "metadata": {},
   "source": [
    "1. Import packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "c2c68047",
   "metadata": {},
   "outputs": [],
   "source": [
    "from secretflow.security.aggregation import SpuAggregator, SecureAggregator\n",
    "from secretflow.ml.nn import FLModelTF"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37f25ac1",
   "metadata": {},
   "source": [
    "2. Define Model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "25a3f788",
   "metadata": {},
   "outputs": [],
   "source": [
    "num_classes = 10\n",
    "input_shape = (28, 28, 1)\n",
    "model = create_conv_model(input_shape, num_classes)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "564ac93b",
   "metadata": {},
   "source": [
    "3. Define the device list for participating training, which is the PYUS of each participant prepared previously"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "a7955558",
   "metadata": {},
   "outputs": [],
   "source": [
    "device_list = [alice, bob]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "95051611",
   "metadata": {},
   "source": [
    "4. Define Aggregator  \n",
    " Secretflow offer a variety of aggregation schemes, `PlainAggregator` corresponding plaintext aggregation，`SecureAggregator` and `SPUAggregator`can be used security aggregation, more information about aggregation,see [Secure Aggregator](./Secure_aggregation.ipynb)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "cfd83d07",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[2m\u001b[36m(_run pid=1657328)\u001b[0m 2022-06-29 11:13:03.007251: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n"
     ]
    }
   ],
   "source": [
    "secure_aggregator = SecureAggregator(charlie, [alice, bob])\n",
    "spu_aggregator = SpuAggregator(spu)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4bb9c29c",
   "metadata": {},
   "source": [
    "5. Define `FLModelTF`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "1d4fbc7a",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\u001b[2m\u001b[36m(PYUTFModel pid=1657324)\u001b[0m 2022-06-29 11:13:06.432268: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n",
      "\u001b[2m\u001b[36m(PYUTFModel pid=1657324)\u001b[0m 2022-06-29 11:13:06.432298: W tensorflow/stream_executor/cuda/cuda_driver.cc:269] failed call to cuInit: UNKNOWN ERROR (303)\n",
      "\u001b[2m\u001b[36m(_run pid=1657320)\u001b[0m 2022-06-29 11:13:06.551059: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n"
     ]
    }
   ],
   "source": [
    "fed_model = FLModelTF(\n",
    "            device_list=device_list, model=model, aggregator=secure_aggregator)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e41f0a4c",
   "metadata": {},
   "source": [
    "6. Lets run model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "e5bcb2d0",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      " 16%|█▌        | 38/235 [00:00<00:02, 79.57it/s]\u001b[2m\u001b[36m(PYUTFModel pid=1657320)\u001b[0m 2022-06-29 11:13:08.724918: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n",
      "\u001b[2m\u001b[36m(PYUTFModel pid=1657320)\u001b[0m 2022-06-29 11:13:08.724944: W tensorflow/stream_executor/cuda/cuda_driver.cc:269] failed call to cuInit: UNKNOWN ERROR (303)\n",
      " 54%|█████▍    | 128/235 [00:01<00:01, 83.12it/s]\u001b[2m\u001b[36m(_run pid=1657326)\u001b[0m 2022-06-29 11:13:09.703094: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n",
      " 97%|█████████▋| 227/235 [00:02<00:00, 81.86it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[2m\u001b[36m(_run pid=1657326)\u001b[0m \n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2022-06-29 11:13:23.360703: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n",
      "2022-06-29 11:13:23.360735: W tensorflow/stream_executor/cuda/cuda_driver.cc:269] failed call to cuInit: UNKNOWN ERROR (303)\n",
      "100%|██████████| 235/235 [00:15<00:00, 15.10it/s, epoch: 0/20 -  loss:0.5455909371376038  accuracy:0.838450014591217  val_loss:0.09067939221858978  val_accuracy:0.9757999777793884 ]\n",
      " 27%|██▋       | 63/235 [00:00<00:02, 84.01it/s]\u001b[2m\u001b[36m(_run pid=1657327)\u001b[0m 2022-06-29 11:13:24.461998: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib:/opt/rh/devtoolset-10/root/usr/lib64/dyninst:/opt/rh/devtoolset-10/root/usr/lib/dyninst:/opt/rh/devtoolset-10/root/usr/lib64:/opt/rh/devtoolset-10/root/usr/lib\n",
      "100%|██████████| 235/235 [00:14<00:00, 16.25it/s, epoch: 1/20 -  loss:0.15530556440353394  accuracy:0.9544153809547424  val_loss:0.054000020027160645  val_accuracy:0.9854000210762024 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 18.91it/s, epoch: 2/20 -  loss:0.11585683375597  accuracy:0.9655846357345581  val_loss:0.041117556393146515  val_accuracy:0.9890000224113464 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 18.26it/s, epoch: 3/20 -  loss:0.09456325322389603  accuracy:0.9717692136764526  val_loss:0.03513775020837784  val_accuracy:0.9891999959945679 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 18.92it/s, epoch: 4/20 -  loss:0.08318307995796204  accuracy:0.9747999906539917  val_loss:0.02930254302918911  val_accuracy:0.9901999831199646 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 18.59it/s, epoch: 5/20 -  loss:0.07344779372215271  accuracy:0.9772769212722778  val_loss:0.02490907534956932  val_accuracy:0.9926000237464905 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.26it/s, epoch: 6/20 -  loss:0.06538530439138412  accuracy:0.9801692366600037  val_loss:0.023281600326299667  val_accuracy:0.9927999973297119 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.34it/s, epoch: 7/20 -  loss:0.060487836599349976  accuracy:0.981492280960083  val_loss:0.021598398685455322  val_accuracy:0.9936000108718872 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.02it/s, epoch: 8/20 -  loss:0.05869262292981148  accuracy:0.9820153713226318  val_loss:0.02013775147497654  val_accuracy:0.993399977684021 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.14it/s, epoch: 9/20 -  loss:0.0536336787045002  accuracy:0.9834307432174683  val_loss:0.018172455951571465  val_accuracy:0.9940000176429749 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.08it/s, epoch: 10/20 -  loss:0.05191521346569061  accuracy:0.9840307831764221  val_loss:0.01762741059064865  val_accuracy:0.9941999912261963 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.09it/s, epoch: 11/20 -  loss:0.049302030354738235  accuracy:0.9843845963478088  val_loss:0.017618941143155098  val_accuracy:0.9945999979972839 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.09it/s, epoch: 12/20 -  loss:0.04785730317234993  accuracy:0.9854769110679626  val_loss:0.01639758050441742  val_accuracy:0.9940000176429749 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.00it/s, epoch: 13/20 -  loss:0.04575221613049507  accuracy:0.9854615330696106  val_loss:0.015657411888241768  val_accuracy:0.9950000047683716 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.18it/s, epoch: 14/20 -  loss:0.04358402267098427  accuracy:0.9865077137947083  val_loss:0.014947587624192238  val_accuracy:0.9950000047683716 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 19.13it/s, epoch: 15/20 -  loss:0.04213587939739227  accuracy:0.986923098564148  val_loss:0.014795692637562752  val_accuracy:0.9947999715805054 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 18.85it/s, epoch: 16/20 -  loss:0.04154187813401222  accuracy:0.9869384765625  val_loss:0.014565249904990196  val_accuracy:0.9945999979972839 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 18.50it/s, epoch: 17/20 -  loss:0.04022194445133209  accuracy:0.9871076941490173  val_loss:0.013674464076757431  val_accuracy:0.9945999979972839 ]\n",
      "100%|██████████| 235/235 [00:12<00:00, 18.29it/s, epoch: 18/20 -  loss:0.03906410187482834  accuracy:0.9870923161506653  val_loss:0.014065113849937916  val_accuracy:0.9945999979972839 ]\n",
      "100%|██████████| 235/235 [00:13<00:00, 18.04it/s, epoch: 19/20 -  loss:0.036405596882104874  accuracy:0.988676905632019  val_loss:0.013037629425525665  val_accuracy:0.9950000047683716 ]\n"
     ]
    }
   ],
   "source": [
    "history = fed_model.fit(train_image, train_label, validation_data=(test_image,test_label), epochs=20, batch_size=128, aggregate_freq=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "fba7079a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Draw accuracy values for training & validation\n",
    "plt.plot(history.global_history['accuracy'])\n",
    "plt.plot(history.global_history['val_accuracy'])\n",
    "plt.title('FLModel accuracy')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.xlabel('Epoch')\n",
    "plt.legend(['Train', 'Valid'], loc='upper left')\n",
    "plt.show()\n",
    "\n",
    "# Draw loss for training & validation\n",
    "plt.plot(history.global_history['loss'])\n",
    "plt.plot(history.global_history['val_loss'])\n",
    "plt.title('FLModel loss')\n",
    "plt.ylabel('Loss')\n",
    "plt.xlabel('Epoch')\n",
    "plt.legend(['Train', 'Valid'], loc='upper left')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "94aa9e5f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "([Mean(name='loss', total=65.18815, count=5000.0), Mean(name='accuracy', total=4975.0, count=5000.0)], {'alice': [Mean(name='loss', total=0.0, count=0.0), Mean(name='accuracy', total=0.0, count=0.0)], 'bob': [Mean(name='loss', total=65.18815, count=5000.0), Mean(name='accuracy', total=4975.0, count=5000.0)]})\n"
     ]
    }
   ],
   "source": [
    "global_metric = fed_model.evaluate(test_image, test_label, batch_size=128)\n",
    "print(global_metric)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cb9c64ba",
   "metadata": {},
   "source": [
    "### Contrast experiment to local training"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1309ed8",
   "metadata": {},
   "source": [
    "#### Model\n",
    "The model structure is consistent with the fl model above\n",
    "#### Data\n",
    "Here, we only used data after a horizontal segmentation, with a total of 20,000 samples for `Alice`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "3a239a07",
   "metadata": {},
   "outputs": [],
   "source": [
    "from tensorflow import keras\n",
    "from tensorflow.keras import layers\n",
    "import tensorflow as tf\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "def create_model():\n",
    "\n",
    "    model = keras.Sequential(\n",
    "        [\n",
    "            keras.Input(shape=input_shape),\n",
    "            layers.Conv2D(32, kernel_size=(3, 3), activation=\"relu\"),\n",
    "            layers.MaxPooling2D(pool_size=(2, 2)),\n",
    "            layers.Conv2D(64, kernel_size=(3, 3), activation=\"relu\"),\n",
    "            layers.MaxPooling2D(pool_size=(2, 2)),\n",
    "            layers.Flatten(),\n",
    "            layers.Dropout(0.5),\n",
    "            layers.Dense(num_classes, activation=\"softmax\"),\n",
    "        ]\n",
    "    )\n",
    "    # Compile model\n",
    "    model.compile(loss='categorical_crossentropy',\n",
    "                  optimizer='adam',\n",
    "                  metrics=[\"accuracy\"])\n",
    "    return model\n",
    "\n",
    "single_model = create_model()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "fbd979bf",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "random_seed = 1234\n",
    "X_train, X_test, y_train, y_test = train_test_split(alice_data, alice_label, test_size=0.33, random_state=random_seed)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "74524f78",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/10\n",
      "158/158 [==============================] - 3s 14ms/step - loss: 0.6568 - accuracy: 0.8012 - val_loss: 0.1853 - val_accuracy: 0.9462\n",
      "Epoch 2/10\n",
      "158/158 [==============================] - 2s 12ms/step - loss: 0.1964 - accuracy: 0.9390 - val_loss: 0.1224 - val_accuracy: 0.9658\n",
      "Epoch 3/10\n",
      "158/158 [==============================] - 2s 12ms/step - loss: 0.1404 - accuracy: 0.9571 - val_loss: 0.0984 - val_accuracy: 0.9728\n",
      "Epoch 4/10\n",
      "158/158 [==============================] - 2s 13ms/step - loss: 0.1162 - accuracy: 0.9656 - val_loss: 0.0818 - val_accuracy: 0.9765\n",
      "Epoch 5/10\n",
      "158/158 [==============================] - 2s 13ms/step - loss: 0.1025 - accuracy: 0.9696 - val_loss: 0.0710 - val_accuracy: 0.9784\n",
      "Epoch 6/10\n",
      "158/158 [==============================] - 2s 13ms/step - loss: 0.0868 - accuracy: 0.9729 - val_loss: 0.0631 - val_accuracy: 0.9809\n",
      "Epoch 7/10\n",
      "158/158 [==============================] - 2s 12ms/step - loss: 0.0787 - accuracy: 0.9770 - val_loss: 0.0607 - val_accuracy: 0.9816\n",
      "Epoch 8/10\n",
      "158/158 [==============================] - 2s 12ms/step - loss: 0.0711 - accuracy: 0.9771 - val_loss: 0.0595 - val_accuracy: 0.9828\n",
      "Epoch 9/10\n",
      "158/158 [==============================] - 2s 13ms/step - loss: 0.0690 - accuracy: 0.9783 - val_loss: 0.0516 - val_accuracy: 0.9838\n",
      "Epoch 10/10\n",
      "158/158 [==============================] - 2s 12ms/step - loss: 0.0587 - accuracy: 0.9818 - val_loss: 0.0526 - val_accuracy: 0.9855\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x7fc7bc117850>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "single_model.fit(X_train,y_train,validation_data=(X_test,y_test),batch_size=128,epochs=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dbe14068",
   "metadata": {},
   "source": [
    "The two experiments above simulated a training problem in a typical horizontal federation scenario,\n",
    "* Alice and Bob have same type of data\n",
    "* Each side had only a portion of the sample, but the training objectives is the same \n",
    "If Alice only uses her own data to train the model, could only obtain a model with an accuracy of 0.981. However, if Bob's data is combined, a model with an accuracy close to 0.995 can be obtained. In addition, the generalization performance of the model jointly trained with multi-party data will also be better"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c15e286a",
   "metadata": {},
   "source": [
    "## Conclusion\n",
    "* This tutorial introduces what federated learning is and how to perform horizontal federated learning in `secretFlow`  \n",
    "* It can be seen from the experimental data that horizontal federation can improve the model effect by expanding the sample size and combining multi-party training.\n",
    "* This tutorial uses a SecureAggregator to demonstrate, and secretflow provides a variety of aggregation schemes，for more infomation, see[Secure Aggregation](./Secure_aggregation.ipynb).\n",
    "* next, you can use your data or model to explore how to do federate learning\n"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "20de69fedffa3d697fbc1d98cc9587165fa61328ce055280151b4b5eb4046671"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
